﻿using NhJump.Persistence.Context;
using NhJump.Persistence.Model;
using NhJump.Persistence.Querying.Executable;

namespace NhJump.Persistence.Querying.Definition
{
    public interface IQueryDefinition<T, TIdentifier>
        where T: IDomainEntity<TIdentifier>
    {
        IExecutableQuery<T, TIdentifier> ToExecutableQuery(IReadableRepository<T, TIdentifier> readableRepository, IUnitOfWork unitOfWork);
    }
}
